Protocol Buffers
メッセージフォーマット
特徴
.protoファイル
コンパイルするとクライアント用のコードをはける
独自のシリアライズ形式を持っている
シリアライズ形式としてはJSONなども実際には利用可能 Pros
各言語(フロント/バック/アプリ)用のデータ構造の定義を自動生成できる
自動生成できないとミスが起きがち -> ミーティング祭り
仕様が小さく、可読性が高い
利用するありがちなシチュエーション
複数言語間でやり取りされるJSONにスキーマを与える
備考
gRPCはインタフェースの定義(デフォルトのメッセージフォーマット)にProtobufを採用している Protocol BuffersはRPCではなくRESTで使うこともできる 一般的にはProtobuf + gRPCの例が多そうだけどProtobuf自体の制約ではない
公式
参考
実例で見るProtobuf
疑問
JSON Schemaは再帰的な構造は表現できない